import random

# 变异
def swap_mutation(individual, mutation_rate):
    if random.random() < mutation_rate:
        # 随机选择两个不同的位置
        idx1, idx2 = random.sample(range(len(individual)), 2)
        # 交换这两个位置的城市
        individual[idx1], individual[idx2] = individual[idx2], individual[idx1]
    
    return individual